package com.foreknow.demo3;

import java.util.Scanner;

/**
 * 数组的声明与使用
 * 数据类型[] 变量名 = new 数据类型[长度];
 * 数组下标越界出现异常(Exception):如果出现了此类异常，程序就中断了，不会执行之后的代码了。
 *      Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException(下标越界)
 * 数组是引用类型：引用类型的默认值都为 null,如果你定义的数组没有被初始化，那么默认值就为 null
 */
public class ArrayDemo1 {
    public static void main(String[] args) {
        //数组的定义
        int[] array = new int[10]; //整型默认为0
        //如何向数组中添加元素（根据下标）
        array[0] = 12;
        array[1] = 13;
        array[2] = 14;
        array[3] = 15;
        array[4] = 16;
        array[5] = 17;
        //如何从数组中获取到某个元素的值
        int num = array[4];
        System.out.println(num);
        //System.out.println(array[10]); 数组下标越界
        //System.out.println("111111111111111111111111111");

        System.out.println("数组的长度是 : "+ array.length);
        System.out.println("-----------------------------------------------");
        //如何获取到数组中所有的元素(遍历数组)
        for (int i = 0;i<array.length;i++){
            System.out.println(array[i]);
        }

        System.out.println("---------------------------------------------------");
        //创建一个字符串类型的数组，向数组中添加元素（fender,gibson,yamaha）,遍历数组并输出结果
        Scanner input = new Scanner(System.in);

        String[] str = new String[3];
        for(int i = 0;i<str.length;i++){
            str[i] = input.next();
        }
        //        str[0] = "gibson";
        //        str[1] = "fender";
        //        str[2] = "yamaha";
        for(int i = 0;i<str.length;i++){
            System.out.println(str[i]);
        }
        System.out.println("-------------------------------------");
    }
}
